package com.zhou.pattern.singleton;

/**
 * 
 * 单例模式 一个JVM里面只有一个对象； （饿汉式）
 * 
 * 三要素： 构造方法私有化
 *  持有一个自身的静态引用（私有属性）
 *  持有一个返回值是自身的静态方法（公共方法）
 * 
 * @author lenovo
 *
 */
public class Singleton2
{	
	/*
	 * 数据类型:基本类型(四类八种)：四类：整数(byte , short, int , long)，浮点(float,double），字符（char），布尔(boolean),
	 * 引用类型:数组，接口，类）,范围:了解
	 * 持有自身的静态引用且是私有
	 * 
	 * static静态:被static修饰,直接类名.方法,类名.属性;不需要new对象.
	 * */
	private static Singleton2 instance = new Singleton2();
	
	/**
	 * 构造方法私有化
	 * 方法五要素:修饰符,返回值,方法名,参数,方法体;变量三要素:类型,名字,值;
	 * 构造方法:特殊方法;   方法名必须和类名一致;木有返回值,连void都不能写
	 */
	private Singleton2()
	{
		
	}
	
	/**
	 * 返回值为自身的静态方法且为公共的
	 * 
	 * 静态的方法不能调用非静态的属性或者变量
	 * @return
	 */
	public static Singleton2 getInstance()
	{
		return instance;
	}

	/*public static void main(String[] args)
	{
		System.out.println("singleton");
	}*/

}